package base.thread_JUC.demo02;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * HashSet 线程不安全的解决方案：
 * 1、Collections.synchronizedSet()
 * 2、CopyOnWriteArraySet
 *
 * HashMap 线程不安全的解决方案：
 * 1、Collections.synchronizedMap()
 * 2、ConcurrentHashMap
 */
public class Client2 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("one");
        list.add("two");
        list.add("two");
        list.add("two");
        list.add("two");
        Iterator<String> iter = list.iterator();
        while(iter.hasNext()){
            String s = iter.next();
            if(s.equals("two")){
                iter.remove();// 通过迭代器去删，而不是 List 对象本身去删
//                list.remove(s);//java.util.ConcurrentModificationException
            }
        }
        System.out.println(list);
    }
}
